package com.xuelang.pipeline.client.resource.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.NotEmpty;
import java.util.Date;

/**
 * 交付空间DTO
 *
 * @author xiwen.zxg
 * @since 2024/5/15
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SpaceDTO {


    /**
     * 空间UUID
     */
    private String uuid;

    /**
     * 目标集群UUID
     */
    @NotEmpty(message = "目标集群UUID不能为空")
    private String clusterUuid;

    /**
     * 目标集群名称
     */
    private String clusterName;

    /**
     * 空间名称
     */
    @NotEmpty(message = "空间名称不能为空")
    private String name;

    /**
     * 空间编码
     */
    @NotEmpty(message = "空间编码不能为空")
    private String code;

    /**
     * 所属项目代码
     */
    private String projectCode;

    /**
     * 别名
     */
    private String alias;

    /**
     * 命名空间
     */
    @NotEmpty(message = "命名空间不能为空")
    private String namespace;

    /**
     * 备注
     */
    private String remark;
    /**
     * 创建人姓名
     */
    private String creator;
    /**
     * 创建人
     */
    private String creatorId;

    /**
     * 创建时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

}
